

//反转并居中位置
vec2 fixuv(in vec2 uv) {
    vec2 p = 3. * (2. * uv - iResolution.xy) / min(iResolution.x, iResolution.y);
    return p;
}

vec4 GridPanel(in vec2 p) {
    vec4 col = vec4(0);
    vec2 fraction = 1.-2.*abs(fract(p)-0.5);
    if(abs(p.x)<=2.*fwidth(p.x)){
        col.g =1.;
    }
    else if(abs(p.y)<=2.*fwidth(p.y)){
        col.r = 1.;
    }
    else if(fraction.x<2.*fwidth(fraction.x)||fraction.y<2.*fwidth(fraction.y)){
        col.xyz = vec3(1.);
    }
    return col;
}

void mainImage(out vec4 fragColor, in vec2 fragCoord) {

    vec2 p = fixuv(fragCoord);
    vec4 col = GridPanel(p);

    // float ay = abs(p.y);
    // if(ay<0.01){
    // col.r =1.;
    // }
    // col.g = p.x;

    fragColor = col;
}